1. Field of the Invention
The present invention generally relates to a publish/subscribe communication paradigm and, more particularly, to a semantic publish/subscribe system in which event providers can publish events according to self-defined event schema as they desire and event consumers are able to define subscription conditions based on self-defined event schemas of their own choice.
2. Background Description
The publish/subscribe system is a very active area of research and development (see, for example, M. K. Aguilera, R. E. Storm, D. C. Sturman, M. Astley, and T. D. Chandra, “Matching events in a content-based subscription system”, Symposium Principles of Distributed Computing, pp. 53-61, 1999; Y. Jin and R. Strom, “Relational subscription middleware for internet-scale publish-subscribe”, 2nd International Workshop on Distributed Event-based Systems, San Diego, Calif., pages 1-8, 2003; and M. Petrovic, I. Burcea and H.-A. Jacobson, “S-ToPSS: Semantic toronto publish/subscribe system”, 29th International Conference on Very Large Data Bases, Berlin, Germany).
The publish/subscribe paradigm is a simple, easy to use and efficient approach for implementing communication among interconnecting applications. For example, publish/subscribe based middle-ware is currently being adopted in dynamic B2B (Business-to-Business) integrations for distributed business process integrations and management. Especially, it plays an important role in business activity management. The publish/subscribe system contains three roles: (i) event providers (i.e., publishers), who provide the event information, (ii) event consumers (i.e., subscribers), who subscribe to the particular interested events, and (iii) the event broker, who is responsible for routing the events from the publishers to the subscribers.
The earliest publish/subscribe systems were topic-based. In these systems, a set of topic spaces is pre-defined. Each event is labeled as one of a fixed set of topics. The providers are required to specify which topic that an event belongs to. When consumers subscribe to a particular topic, they will receive all the events that are labeled with that topic. In the past decade, systems supporting this paradigm have matured significantly resulting in several solutions. A similar approach has been adopted by the OMG for CORBA event channels (event services). However, such systems are limited on customized event brokering. For example, when information consumers subscribe to events belonging to the topic Vehicle, any event labeled with Vehicle will be delivered to the consumer, regardless of the content of the event.
In consequence, as an improvement to topic-based solution, content-based publish/subscribe systems are proposed (see Arguilera et al., ibid.). Instead of a set of topic, these systems support a number of information spaces, where each space associated with an event schema that de nes the syntax of event. The vehicle dealer example may be defined as an information space (i.e., event schema) contains three attributes (String issue, Dollar price, Integer door). A subscription is then a predicate over these attributes, such as (issue==“Sporty Car”) AND (price>40K) AND (Door#==2). In this way, content-based publish/subscribe systems allow subscribers to have the flexibility of choosing filtering criteria along multiple dimensions.
A further development of content-based publish/subscribe system is to support relational subscriptions (see Jin et al., ibid.), which enables subscribers explicitly specify the event sources and correlated them using relational operators. However, above three types of publish/subscribe systems assume that the event publishers and subscribers adopt same approaches to organize information spaces. Further, the event routing in these systems is based on value of events. Therefore, we argue that these publish/subscribe systems are not sufficient for applications in dynamic environments. For example, in dynamic B2B integration, an application may need to interact with a heterogeneous and highly dynamic collection of both new and legacy partner applications. The information exchange among the applications is typically realized by publishing and subscription events on an event bus. If the event bus adopts relational publish/subscribe system, then applications need to instruct the publish/subscribe system on how to correlate events based on availability of event sources. This requires an application to be aware of all the event schemas that are used by its partner applications. Such a requirement is impractical when the application has a dynamic collection of partner applications, which is the case of dynamic B2B integrations. Therefore, applications in dynamic B2B integrations become easier to be developed and maintained if the event publication and subscription can be based on self-defined event schemas, as well as event semantic transformation and correlation can be provided as part of publish/subscribe in system level and transparent to applications.
An initial effort to provide semantic support for event routing is given by Petrovic et al. (ibid.) which relaxed the constraints of content-based publish/subscribe that publishers and subscribers must share the same event schemas. However, this approach only considered semantic routing from one event source to subscriptions. Further, the semantic event routing of Petrovic et al. is enabled by term generating; i.e., generating more generic events based on published events, which creates redundant information.
Similar to publish/subscribe systems, continual queries (see L. Liu, C. Pu and W. Tang, “Continual queries for internet scale event-driven information delivery”, IEEE Knowledge and Data Engineering, 11(4):610-628, 1999) also focus on push-enabled, event-driven and content-sensitive information delivery. In openCQ described by Liu et al., the event models are either system predefined or user defined. In the case of user defined event models, they need to be registered into the system first. Again, the information delivery is based on value-based matching, without consideration of semantic matching. OpenCQ requires information consumers to explicitly specify the query statement based on available information sources, which is similar to a relational publish/subscribe system.